package com.opensource.excel;

import com.jfinal.kit.LogKit;
import com.jfinal.plugin.IPlugin;
import com.opensource.excel.core.XmlParser;

import cn.hutool.core.io.FileUtil;

/**
 * Excel 解析模板插件 <br/>
 * 需要按照标准规则配置解析文件。 <br/>
 * 默认解析文件名为 xls_config.xml,默认路径 classpath 下 <br/>
 * 具体配置规则请参考 xls_config.txt 文件
 * 
 * @author liyingfu
 *
 */
public class ExcelPlugin implements IPlugin {

	private String xlsConfig = "xls_config.xml";

	public ExcelPlugin() {
		super();
	}

	public ExcelPlugin(String xlsConfig) {
		super();
		this.xlsConfig = xlsConfig;
	}

	@Override
	public boolean start() {
		// 初始化时，解析模板生成缓存
		try {
			XmlParser.parse(FileUtil.file(this.xlsConfig));
		} catch (Exception e) {
			LogKit.error("Excel模板解析文件不存在或文件有问题： " + e.getMessage());
			e.printStackTrace();
		}
		LogKit.info("单元格模板节点 td 属性type类型支持 string/int/boolean/decimal/long/date/double类型");
		return true;
	}

	@Override
	public boolean stop() {
		// 停止前清除解析模板的缓存
		XmlParser.clearCache();
		return true;
	}

}
